
.form-input {
  position: relative;
  font-size: 14px;
  display: inline-block;
  width: 100%;
  &__inner {
    -webkit-appearance: none;
    background-color: $backgroundDefault;
    background-image: none;
    border-radius: 4px;
    border: 1px solid $borderBase;
    box-sizing: border-box;
    color: $fontPrimary;
    display: inline-block;
    font-size: inherit;
    height: 40px;
    line-height: 40px;
    outline: none;
    padding: 0 15px;
    transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);
    width: 100%;
    &:focus {
      outline: none;
      border-color: $primary;
    }
  }
  &__suffix {
    position: absolute;
    height: 100%;
    right: 5px;
    top: 0;
    text-align: center;
    color: $fontPlaceholder;
    transition: all 0.3s;
    pointer-events: none;
  }
  &-group {
    line-height: normal;
    display: inline-table;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    &--prepend {
      .form-input__inner {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
      }
    }
    &--append {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
      .form-input__inner {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
      }
    }
    &__append,
    &__prepend {
      background-color: $backgroundButton;
      color: $fontSecondary;
      vertical-align: middle;
      display: table-cell;
      position: relative;
      border: 1px solid $borderBase;
      border-radius: 4px;
      padding: 0 20px;
      width: 1px;
      white-space: nowrap;
      button.form-button {
        border-color: transparent;
        background-color: transparent;
        color: inherit;
        border-top: 0;
        border-bottom: 0;
        margin: -10px -20px;
      }
    }
    &__append {
      border-left: 0;
    }
    &__append {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
    }
  }
}